新增相片後,要發送通知給相簿應用程式,這樣才能更新照片清單,這樣才能在相簿看到新增加的照片,使用者體驗才會好。
以前我們會用Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,以下是範例
val intent = Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri)
sendBroadcast(intent)
但現在Intent.ACTION_MEDIA_SCANNER_SCAN_FILE也被標記棄用,同樣的也有新的寫法,以下是範例
MediaScannerConnection.scanFile(this, arrayOf(), null) { path, uri ->
}
比較要講的是原本用intent只能傳入一個uri,但現在提供arrayOf(),所以可以一次傳入多個uri,重新整理後會回傳絕對路徑和uri,但有時後會發生有絕對路徑,但uri為null的情況發生。